#! /bin/make -f
# vi:set ts=4 sw=4:
#
#		@(#)Makefile	12.14
#
.KEEP_STATE:
CLEANDIR=/usr/local/lib/clean
CSOURCES=
SOURCES=scanner.l parser.y $(CSOURCES)
INCLUDES=global.h
PGM=fclc
OBJECTS=$(CSOURCES:.c=.o) scanner.o parser.o
CFLAGS=-W -O -Wreturn-type -Wunused -Wcomments
CC=gcc
LEX=lex 
YACC=yacc -d -v -t

.INIT: $(INCLUDES)

$(PGM):	$(OBJECTS)
		$(LINK.c) -static $(OBJECTS) -o $(PGM)

scanner.o:		scanner.c yaccdef.h

scanner.c:		scanner.l
		$(LEX) -t scanner.l > scanner.c

parser.o:		y.tab.c
		$(COMPILE.c) y.tab.c -o parser.o

y.tab.c \
y.tab.h:		parser.y
		$(YACC) parser.y

yaccdef.h:		y.tab.h parser.y copy_if_changed
		sh copy_if_changed y.tab.h yaccdef.h

clean:
		rm -f *.o lex.yy.c y.tab.h y.tab.c yaccdef.h scanner.c y.output abc $(CSOURCES:%=%.BAK) $(INCLUDES:%=%.BAK)

install:		$(PGM)
		guru install -c -s -m 751 $(PGM) $(CLEANDIR)

.c.s:
		$(CC) $(CFLAGS) -S $<

enscript: $(INCLUDES) $(SOURCES)
		enscript $(INCLUDES) $(SOURCES)

print: $(INCLUDES) $(SOURCES)
		lpr -m -p  $(INCLUDES) $(SOURCES)

